using Circus.CodeEditor;
using Circus.Syntax;
using Circus.Syntax.CodeCompletion;
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Circus.CodeEditor.CodeCompletion
{
	public interface ICodeCompletionWindow
	{
		event ClosePopupEvent ClosePopup;
		event ShowPopupEvent ShowPopup;
		event EventHandler Disposed;
		event KeyPreviewEvent KeyPreviewEvent;
		event HelpEventHandler HelpRequested;
		ICodeCompletionProvider Provider
		{
			get;
			set;
		}
		bool Sizeable
		{
			get;
			set;
		}
		bool AutoSize
		{
			get;
			set;
		}
		ImageList Images
		{
			get;
			set;
		}
		CodeCompletionFlags CompletionFlags
		{
			get;
			set;
		}
		Control OwnerControl
		{
			get;
			set;
		}
		Point StartPos
		{
			get;
			set;
		}
		Point EndPos
		{
			get;
			set;
		}
		Point DisplayPos
		{
			get;
			set;
		}
		bool IsFocused
		{
			get;
		}
		bool IsVisible
		{
			get;
		}
		Size Size
		{
			get;
		}
		Control PopupControl
		{
			get;
		}
		void Popup();
		void PopupAt(int x, int y);
		void PopupAt(Point position);
		void Close(bool accept);
		void CloseDelayed(bool accept);
		void PositionChanged(int x, int y, int deltaX, int deltaY);
		void EnsureVisible(ref Point position);
		bool ContainsControl(Control control);
		void ResetContent();
		void ResetSizeable();
		void ResetAutoSize();
		void ResetCodeCompletionFlags();
		bool PerformSearch();
	}
}
